কালীন সারি (Queue) কম্পিউটার বিজ্ঞানের একটি গুরুত্বপূর্ণ ডাটা স্ট্রাকচার, যা প্রথমে আসলে প্রথমে যাবে (First In, First Out - FIFO) নীতির উপর ভিত্তি করে কাজ করে। এটি এমন একটি ক্রম যেখানে উপাদানগুলো একটি প্রান্ত থেকে যুক্ত হয় এবং অন্য প্রান্ত থেকে সরানো হয়। এটি বিভিন্ন প্রোগ্রামিং সমস্যায় কার্যকর সমাধান প্রদান করে।
কালীন সারির ব্যবহার
কালীন সারি বাস্তব জীবনের বিভিন্ন ক্ষেত্রে এবং প্রোগ্রামিংয়ের নানা সমস্যার সমাধানে ব্যবহার করা হয়। এর কয়েকটি গুরুত্বপূর্ণ ব্যবহার নিচে আলোচনা করা হলো:
১. প্রক্রিয়াকরণ ব্যবস্থাপনা (Process Management)
কম্পিউটার সিস্টেমে প্রসেস স্কেডিউলিং-এ কালীন সারি ব্যবহৃত হয়। উদাহরণ:
- প্রিন্টার কিউ: একাধিক ডকুমেন্ট প্রিন্ট করার জন্য প্রিন্টার তাদের কালীন সারিতে সাজায় এবং FIFO ভিত্তিতে প্রিন্ট করে।
- CPU প্রসেস স্কেডিউলিং: বিভিন্ন প্রক্রিয়া কালীন সারিতে রাখা হয় এবং প্রসেসর FIFO নীতিতে এগুলো কার্যকর করে।
২. ডেটা স্ট্রিম হ্যান্ডলিং
কালীন সারি ডেটা স্ট্রিম বা প্রবাহের ক্ষেত্রে ব্যবহৃত হয়:
- ইনপুট/আউটপুট (I/O) ডিভাইস: কী-বোর্ড বা মাউসের ইনপুট একটি কালীন সারিতে সংরক্ষিত হয় এবং পরে প্রসেস করা হয়।
- মেসেজ কিউ: বিভিন্ন মেসেজ বা ডেটা প্যাকেট FIFO নীতিতে সাজানো হয় এবং নেটওয়ার্ক সিস্টেমে পাঠানো হয়।
৩. ব্রাউজার বা সফটওয়্যার ফিচার
- ব্রাউজার হিস্টোরি ম্যানেজমেন্ট: ব্যাক বা ফরওয়ার্ড বাটনের মাধ্যমে ওয়েবপেজ ভিজিটের ক্রম সংরক্ষণের জন্য কালীন সারি ব্যবহৃত হয়।
- অ্যান্ডো/রিডো অপারেশন: FIFO পদ্ধতিতে ক্রিয়াগুলোর তালিকা বজায় রাখা হয়।
৪. অপেক্ষমান সারি মডেলিং (Waiting Line Modeling)
কালীন সারি বিভিন্ন সার্ভিস মডেলিংয়ে ব্যবহার করা হয়:
- এয়ারপোর্ট চেক-ইন: যাত্রীদের FIFO নীতিতে চেক-ইন করা হয়।
- ব্যাংকের সার্ভিস কাউন্টার: গ্রাহকদের কালীন সারি ভিত্তিতে সেবা প্রদান করা হয়।
৫. গ্রাফ ও ট্রি অ্যালগরিদম
কালীন সারি গ্রাফ এবং ট্রি ভিত্তিক অ্যালগরিদমে গুরুত্বপূর্ণ ভূমিকা পালন করে:
- ব্রেডথ-ফার্স্ট সার্চ (BFS): গ্রাফের স্তর অনুসন্ধানের জন্য কালীন সারি ব্যবহৃত হয়।
- লেভেল অর্ডার ট্রাভার্সাল: ট্রি ডেটা স্ট্রাকচারে প্রতিটি লেভেলের উপাদান যাচাই করার জন্য কালীন সারি ব্যবহৃত হয়।
৬. নেটওয়ার্কিং ও মাল্টি-থ্রেডিং
- প্যাকেট সুইচিং: নেটওয়ার্কে ডেটা প্যাকেট FIFO নীতিতে পাঠানো হয়।
- মাল্টি-থ্রেড ম্যানেজমেন্ট: থ্রেডগুলো কালীন সারিতে সাজানো হয় এবং প্রয়োজন অনুযায়ী এক্সিকিউট করা হয়।
৭. রিয়েল-টাইম সিস্টেম
রিয়েল-টাইম অ্যাপ্লিকেশন যেমন:
- টিকিট বুকিং সিস্টেম: বুকিং অনুরোধগুলো কালীন সারিতে জমা হয় এবং FIFO ভিত্তিতে প্রসেস করা হয়।
- ফাস্ট ফুড রেস্টুরেন্ট: অর্ডারগুলো FIFO নীতিতে প্রক্রিয়া করা হয়।
৮. সিমুলেশন
কালীন সারি বিভিন্ন সিমুলেশনে ব্যবহৃত হয়, যেখানে একাধিক ইভেন্ট বা প্রসেস সিরিয়ালভাবে সম্পাদিত হয়:
- ট্রাফিক লাইট সিস্টেমে গাড়ির ক্রম পরিচালনা।
সারসংক্ষেপ
কালীন সারি একটি মৌলিক ডাটা স্ট্রাকচার, যা বাস্তব জীবনের এবং প্রোগ্রামিংয়ের বিভিন্ন ক্ষেত্রে ব্যবহৃত হয়। এটি বিশেষ করে প্রসেস স্কেডিউলিং, ডেটা স্ট্রিম হ্যান্ডলিং, নেটওয়ার্কিং, গ্রাফ অ্যালগরিদম এবং সিমুলেশনে কার্যকর। এর সহজ কিন্তু শক্তিশালী কাঠামো প্রোগ্রামিং সমস্যার সমাধান সহজতর করে।